home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
GSAVE2.ZIP
/
GSAVE2.DOC
< prev
next >
Wrap
Text File
|
1996-04-25
|
8KB
|
205 lines
Graphics Save Version 2.0 (C)opyright 1995,1996 Earwax
Usage : GSAVE2 <option>
<option>
: leave blank to install the TSR, ` (next to 1) will
activte the screen capture, or anything else you put in
will be ignored unless it is "/u".
/u : will uninstall the TSR, freeing up about 1kb of RAM 8-).
Requirements:
∙■∙ a vga card capable of displaying 320x200x256
∙■∙ a bit of HD space
∙■∙ more than 1kb or RAM 8-)
∙■∙ a assembler although not essential is recommended
Included Files:
GSAVE2.COM
The screen capture program.
GSAVE2.DOC
Dis file!
GLOAD2.ASM/EXE
Example of how to load SCREENGS.??? files in ASM.
PASCAL.ZIP
Example of using SCREENGS.??? files in TP.
C_PLUS.ZIP
Example of using SCREENGS.??? files in C.
SCREENGS.000/PCX
An ScreenGS file, by BenJ/Realm (hope you don't mind BenJ!)
and also an "PCX" file.
GS2PCX.EXE
This is an SCREENGS.??? to ????????.PCX, converter, the
only problem that i have found with this is that just about no
viewers will actually load the PCX files properly. This may have
something to do with the documentation which i didn't have, I had
to remember the PCX Format from memory (except the header which i
ripped)! But at least the images are compressed quite significantly
in most cases. Some viewers, such as Pain(t) Shop Pro for Windows
and Graphic Workshop, do load these PCX files properly, a lot of
other (QPEG, Deluxe Paint etc.) don't!
One good factor from all of this is that my "memory" PCX
files seem to be smaller on average than PCX files generated by
other programs of the same images??? so hey, this is cool!
PCXLOAD2.ASM/EXE
Seeing you would never be able to load up the compressed
images, i decided to include a PCX? loader so you could use
encoded images, geez arent i nice!
Note that this PCX loader will load normal PCX files as
well!
BIN2HEX.EXE
Program to convert Binary -> Hexidecimal. Very slow, but
i coded it about the same time i coded the 1st version on GSAVE,
so thats why it is sooo slow.
Use this to include pictures etc, in with the final EXE
file.
Whats new?
More stable TSR! (I hope 8-)) Doesn't crash Deluxe Paint, like
version 1.0 and never get any QEMM errors!
The last version on GSAVE (1.0) was very screwed, namely because
I had only been programming in assembler for a few weeks. I was going to
leave the program as it was and make no more updates, but i got bored and
decided to learn how to make a descent TSR. This TSR may not be perfect
but its a far cry from my first attempt. The older version was using
INT16h, which as far as i can tell, seemed to be the cause of all the
problems? This new version uses INT09h and INT21h, this seems to have
destroyed all the problems and I haven't encountered any of the problems
which were everywhere in the older version.
This new version is also about 7-10 times faster than the original
version. The first version was VERY slow.
The capture file is no longer is two seperate parts (PAL/PIC) but
rather one file, which should be 64,768 bytes big.
You can also capture up to 999 files in one "session", not just one
as in the previous version. The files are now called SCREENGS.???, where
??? is the number of the image saved. Also note here that the more SCREENGS
files in one directory that you have the longer it will take to save, as
the program has to scan for an non-existant file, I don't think i've
explained that very well, but it doesn't really matter.
If you want to detect wether GSave is in memory, then it is a simple
process of putting "ax" equal to 3580h or 13696 decimal and calling INT21h
If gsave is installed "ax" will be equal to 0ffffh or 65535 decimal, if not
then gsave is not installed. Heres a simple detection proggie ...
mov ax,3580h
int 21h
cmp ax,0ffffh
jz gsave_installed
Why you would want to detect it however i have no idea?? but I told
ya anyway.
Format of the SCREENGS.??? file.
This file is saved very simply and is very easy to load.
The first 768 bytes contain the palette (RGB,RGB...), the next
64,000 bytes contain the picture (320x200) in RAW format, an example
program is included (GLOAD2.ASM/GLOAD2.EXE) and also a TPU file
(PASCAL.ZIP) for implementation in TP programs, but why anyone would use
TP, God only knows 8-). Also a C version (C_PLUS.ZIP) for all you C users.
Format of my "memory" PCX files.
Header, 128 bytes
Byte Size Should be
0 1 10
1 1 5 (PCX Version)
2 1 1
3 1 8
12 2 319 (MaxX-1)
14 2 199 (MaxY-1)
16 112 ?
Picture, ??? Bytes
Using run length compression, look at PCXLOAD2.ASM for an example
of how to decompress the images, quite simple really.
Last 768 bytes
This is the palette multiplied by 4, in RGB format. Don't ask me why
they are 4 times the size they are, thats just the way PCX works, I THINK!
Problems?
The Image is Screwed!
Well its probably because the program you captured the image from
was using tweaked vga (commonly known as ModeX) and this is why the
image looks like crap. Sorry but i can't be fucked writting a ModeX screen
capture program, cause people often do that so you can't rip art, so
guess what. I aint helping!
My program uses ` , but it grabs the screen instead!
Tough Shit, no solution 8-)
In some Programs I can't Capture Screens!
This may be because
∙■∙ Your trying to capture a screen which isn't in
320x200x256 colors, or
∙■∙ The programmers have deliberately made it so that
all previous INT09h instructions have been temporarily
trashed, note that many demos do this.
Contacting the Legend(?)
You wanna mail me? if you do then you can either ring the following
BBS(s) which i frequently use
Morbid Reality (West Aust)
Node 1 : +619 385 0740
Node 2 : +619 385 5337
Or Snail mail me at
Earwax (Aaron Hughes)
20, Southgate court Kingsley
Perth, Western Australia
6026
Or Email me at
hughesal@cs.curtin.edu.au
EHUGHESALH@alpha1.curtin.edu.au
before March 1997
∙ Earwax/Realm ∙ 12th January 1996
Late Update!
This program has been finished for many months now except for the
unload function, which will de-activate the TSR but leave it in memory,
as i cant find any information on unloading TSR's from memory i have
decided to leave this option unfinished, which will mean that you can
load GSAVE2 into memory multiple times, which is a bit of a piss off for me
because i wanted this little TSR to be finished
∙ Earwax/Realm ∙ 25th August 1996